Algebraic Foundations of the Unifying Theories of Programming

نویسنده

  • Walter Guttmann
چکیده

Hoare and He’s Unifying Theories of Programming take a relational view on semantics. The meaning of a non-deterministic, imperative program is described by ‘designs’ composed of two relations. They represent terminating states and relate the initial and final values of the observable variables, respectively. Several ‘healthiness conditions’ are imposed by the theory to obtain properties found in practice. This work determines the structure of designs and modifies the theory to support nonstrict computations. It achieves these goals by identifying healthiness conditions and related axioms that involve unnecessary restrictions and subsequently removing them. The outcome provides a clear account of the algebraic foundations of the Unifying Theories of Programming. One of the results is a generalisation of designs by constructing them on semirings with ideals, structures having fewer axioms than relations. This clarifies the essential algebraic structure of designs, allows the reuse of existing mathematical theory and connects to further semantical approaches. The framework is extended by algebraic formulations of finite and infinite iteration, domain, pre-image, determinacy, invariants and convergence. Calculations and reasoning become simpler by the new, more abstract representation as is shown by applying the theory to investigate linear recursions. Another result is an extension of the Unifying Theories of Programming to deal with undefined values irrespective of non-termination. Besides being closer to practice, it forms the basis of a new theory of relations representing non-strict computations. They satisfy additional healthiness conditions that model dependence in computations in an elegant algebraic form. Programs can then be executed according to the principle of lazy evaluation, otherwise known from functional programming languages.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

POWERSET OPERATOR FOUNDATIONS FOR CATALG FUZZY SET THEORIES

The paper sets forth in detail categorically-algebraic or catalg foundations for the operations of taking the image and preimage of (fuzzy) sets called forward and backward powerset operators. Motivated by an open question of S. E. Rodabaugh, we construct a monad on the category of sets, the algebras of which generate the fixed-basis forward powerset operator of L. A. Zadeh. On the next step, w...

متن کامل

Non-termination in Unifying Theories of Programming

Within the Unifying Theories of Programming framework, program initiation and termination has been modelled by introducing a pair of variables in order to satisfy the required algebraic properties. We replace these variables with the improper value ⊥ that is frequently used to denote undefinedness. Both approaches are proved isomorphic using the relation calculus, and the existing operations an...

متن کامل

Foundations for Model-Based Engineering of Systems of Systems

The engineering of Systems of Systems presents daunting challenges. In this paper it is argued that rigorous semantic foundations for model-based techniques are potentially beneficial in addressing these. Three priorities for current research are identified: contractual interface definition, the verification of emergent behaviour, and the need to deal with semantic heterogeneity of constituent ...

متن کامل

Normal design algebra

We generalise the designs of the Unifying Theories of Programming (UTP) by defining them as matrices over semirings with ideals. This clarifies the algebraic structure of designs and considerably simplifies reasoning about them, for example, since they form a Kleene and omega algebra and a test semiring. We apply our framework to investigate symmetric linear recursion and its relation to tail-r...

متن کامل

Functions as types or the "Hoare logic" of functional dependencies

Inspired by the trend on unifying theories of programming, this paper shows how the algebraic treatment of standard data dependency theory equips relational data with functional types and an associated type system which is useful for type checking database operations and for query optimization. Such a typed approach to database programming is then shown to be of the same family as other program...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007